home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
HPAVC
/
HPAVC CD-ROM.iso
/
PWAULTP3.ZIP
/
PWAPRGMS.A02
/
PWA95
/
PWAEEM12.ZIP
/
EEOM.PPE
(
.txt
)
< prev
next >
Wrap
PCBoard Programming Language Executable
|
1995-02-27
|
9KB
|
577 lines
;------------------------------------------------------------------------------
; .ss.
; `²²'
; .,sS$Ss,,s$ .,sS$$$Ss. .,sS$Ss,,s$ .ss. .sSs.
; .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
; $$$' .$$$' $$$²Sçsµ²' .$$$' .$$$'.$$$' .$$$' `$$b.
; $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$' ;$$$
; `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
; .sS²°$$$²²°"' d²°'
; .$$² .$$'
; $$$.,d$$'
; `²S$$S²'
;------------------------------------------------------------------------------
; P.P.L.X. 2.OO (C)1996 - Lone Runner / AEGiS CoRP'96
;------------------------------------------------------------------------------
; PPE 3.O1 (Encryption type I) - Analysis ON - Postprocessing ON
;------------------------------------------------------------------------------
Boolean BOOLEAN001
Boolean BOOLEAN002
Boolean BOOLEAN003
Boolean BOOLEAN004
String STRING001
String STRING002
String STRING003
String TSTRING004(9)
String TSTRING005(9)
String STRING006
String STRING007
String STRING008
String STRING009
String STRING010
String STRING011
String STRING012
String STRING013
String STRING014
String STRING015
String STRING016
String STRING017
String STRING018
String STRING019
String STRING020
String STRING021
Time TIME001
Time TIME002
Int TINT001(9)
Int INT002
Int INT003
Int INT004
Int INT005
Int INT006
Int INT007
Int INT008
Int INT011
Int INT013
Int INT014
Declare Procedure PROC001()
Declare Procedure PROC002()
Declare Procedure PROC003()
Declare Procedure PROC004()
Declare Procedure PROC005()
Declare Procedure PROC006()
Declare Procedure PROC007()
Declare Procedure PROC008(Int INT015, Int INT016)
Declare Procedure PROC009(Int INT009, Int INT010)
Declare Procedure PROC010(Int INT012)
;------------------------------------------------------------------------------
PROC001()
PROC002()
PROC003()
PROC005()
End
;------------------------------------------------------------------------------
Procedure PROC004()
Int INT005
Print STRING006
For INT005 = 1 To 8
TINT001(INT005) = GetX()
Print TSTRING004(INT005) + Space(INT002)
Next
EndProc
;------------------------------------------------------------------------------
Procedure PROC005()
Int INT006
Int INT007
Int INT008
Boolean BOOLEAN003
Time TIME001
Time TIME002
INT007 = 1
INT006 = 1
If (INT003) Then
TIME001 = Time()
KbdChkOff
Endif
PROC004()
PROC008(INT006, INT007)
BOOLEAN003 = 0
:LABEL001
If (BOOLEAN003) Goto LABEL002
If (INT003) Then
TIME002 = Time()
If (TIME002 - TIME001 > 60 * INT003) Then
Newline
DispText 55, 32768 + 2048 + 256 + 128
Bye
Endif
Endif
Delay INT004
INT008 = Asc(Inkey())
If ((((((INT008 == 82) || (INT008 == 68)) || (INT008 == 54)) || (INT008 == 56)) || (INT008 == 32)) || (INT008 == 62)) Then
INT007 = INT006
Inc INT006
If (INT006 > 8) INT006 = 1
PROC008(INT006, INT007)
ElseIf ((((((INT008 == 76) || (INT008 == 85)) || (INT008 == 52)) || (INT008 == 50)) || (INT008 == 9)) || (INT008 == 60)) Then
INT007 = INT006
Dec INT006
If (INT006 < 1) INT006 = 8
PROC008(INT006, INT007)
Else
Select Case (INT008)
Case 99, 67
INT007 = INT006
INT006 = 1
PROC008(INT006, INT007)
If (BOOLEAN002) BOOLEAN003 = 1
Case 100, 68
INT007 = INT006
INT006 = 2
PROC008(INT006, INT007)
If (BOOLEAN002) BOOLEAN003 = 1
Case 106, 74
INT007 = INT006
INT006 = 3
PROC008(INT006, INT007)
If (BOOLEAN002) BOOLEAN003 = 1
Case 107, 75
INT007 = INT006
INT006 = 4
PROC008(INT006, INT007)
If (BOOLEAN002) BOOLEAN003 = 1
Case 110, 78
INT007 = INT006
INT006 = 5
PROC008(INT006, INT007)
If (BOOLEAN002) BOOLEAN003 = 1
Case 114, 82
INT007 = INT006
INT006 = 6
PROC008(INT006, INT007)
If (BOOLEAN002) BOOLEAN003 = 1
Case 115, 83
INT007 = INT006
INT006 = 7
PROC008(INT006, INT007)
If (BOOLEAN002) BOOLEAN003 = 1
Case 43, 93
INT007 = INT006
If (BOOLEAN002) Then
INT006 = 9
BOOLEAN003 = 1
Else
INT006 = 8
Endif
PROC008(INT006, INT007)
Case 45, 91
INT007 = INT006
If (BOOLEAN002) Then
INT006 = 10
PROC008(INT006, INT007)
BOOLEAN003 = 1
Else
INT006 = 8
Endif
PROC008(INT006, INT007)
Case 13
BOOLEAN003 = 1
Case 63
PROC006()
INT006 = 0
BOOLEAN003 = 1
Case 33
PROC007()
PROC004()
PROC008(INT006, INT007)
Case 0
INT007 = INT006
INT006 = 8
PROC008(INT006, INT007)
If (BOOLEAN002) BOOLEAN003 = 1
Endif
End Select
Goto LABEL001
:LABEL002
PROC009(INT006, INT008)
EndProc
;------------------------------------------------------------------------------
Procedure PROC007()
String STRING019
STRING019 = "@X0FEnhanced End of Message v1.2 by Drew [PWA]@X07"
Print Chr(13)
ClrEol
Print Chr(13)
Print Space((79 - Len(StripAtx(STRING019))) / 2) + STRING019
Delay 35
Print Chr(13)
ClrEol
Print Chr(13)
EndProc
;------------------------------------------------------------------------------
Procedure PROC009(Int INT009, Int INT010)
Int INT011
Print Chr(13)
ClrEol
INT011 = 3
Select Case (INT009)
Case 0
Print STRING007
Print STRING018
KbdStuff Chr(13)
Case 1
Print STRING007
Print STRING009
KbdStuff Chr(13)
Case 2
Print STRING007
Print STRING010
KbdStuff "D"
Case 3
Print STRING007
Print STRING011
KbdStuff "J"
Case 4
Print STRING007
Print STRING012
KbdStuff "K"
Case 5
Print STRING007
Print STRING013
KbdStuff "N"
Case 6
Print STRING007
Print STRING014
KbdStuff "RE"
Case 7
Print STRING007
Print STRING015
KbdStuff "SKIP"
Case 8
PROC010(INT010)
INT011 = 0
Case 9
Print STRING007
Print STRING016
KbdStuff "+"
Case 10
Print STRING007
Print STRING017
KbdStuff "-"
End Select
Delay INT011
EndProc
;------------------------------------------------------------------------------
Procedure PROC010(Int INT012)
String STRING020
String STRING021
Boolean BOOLEAN004
Int INT013
Int INT014
Print STRING008
INT014 = GetX() - 1
If (InStr(Mask_AlNum() + Mask_Ascii(), Chr(INT012)) && (INT012 <> 13)) Then
Print Chr(INT012)
STRING020 = Chr(INT012)
INT013 = 1
Else
STRING020 = ""
INT013 = 0
Endif
BOOLEAN004 = 0
:LABEL003
If (BOOLEAN004) Goto LABEL004
Delay INT004
STRING021 = Inkey()
Select Case (Asc(STRING021))
Case 13
If (STRING020 == "") Then
STRING020 = Chr(13)
Print STRING009
Endif
BOOLEAN004 = 1
Case 27, 21
Print Chr(13)
Forward INT014
ClrEol
Print Chr(13)
Forward INT014
INT013 = 0
STRING020 = ""
Case 8
If (INT013 > 0) Then
Print STRING021 + " " + STRING021
Dec INT013
STRING020 = Left(STRING020, Len(STRING020) - 1)
Endif
Case InStr(Mask_AlNum(), STRING021)
Case 79 - Len(StripAtx(STRING008))
Print STRING021
Inc INT013
STRING020 = STRING020 + STRING021
End Select
Goto LABEL003
:LABEL004
If (Lower(STRING020) == "h") Then
KbdStuff "he"
ElseIf (STRING020 == "") Then
KbdStuff Chr(13)
Else
KbdStuff STRING020
Endif
EndProc
;------------------------------------------------------------------------------
Procedure PROC006()
If (Exist(PPEPath() + "EEOM.HLP")) Then
DispFile PPEPath() + "EEOM.HLP", 0
KbdStuff "/"
Endif
EndProc
;------------------------------------------------------------------------------
Procedure PROC003()
If (Exist(PPEPath() + "EEOM.PCB")) Then
DispFile PPEPath() + "EEOM.PCB", 0
Endif
EndProc
;------------------------------------------------------------------------------
Procedure PROC008(Int INT015, Int INT016)
Print Chr(13)
Forward TINT001(INT016) - 1
Print TSTRING004(INT016)
Print Chr(13)
Forward TINT001(INT015) - 1
Print TSTRING005(INT015)
EndProc
;------------------------------------------------------------------------------
Procedure PROC002()
If (BOOLEAN001) Then
GetUser
If ((GetY() >= U_PageLen) && ((U_Cls == 0) || ((U_Cls == 1) && (U_Scroll == 1)))) Then
Wait
Endif
Endif
EndProc
;------------------------------------------------------------------------------
Procedure PROC001()
Int INT017
STRING001 = PPEPath() + "EEOM.CFG"
STRING002 = PPEPath() + "LB.CFG"
STRING003 = PPEPath() + "STRINGS.CFG"
If (Exist(STRING002)) Then
INT002 = S2I(ReadLine(STRING002, 1), 10)
For INT017 = 1 To 8
TSTRING004(INT017) = ReadLine(STRING002, 1 + INT017 * 2 - 1)
TSTRING005(INT017) = ReadLine(STRING002, 1 + INT017 * 2)
Next
Else
INT002 = 0
TSTRING004(1) = "@X08 Cont @X07"
TSTRING005(1) = "@X4F CONT @X07"
TSTRING004(2) = "@X08 Dload @X07"
TSTRING005(2) = "@X4F DLOAD @X07"
TSTRING004(3) = "@X08 Jump @X07"
TSTRING005(3) = "@X4F JUMP @X07"
TSTRING004(4) = "@X08 Kill @X07"
TSTRING005(4) = "@X4F KILL @X07"
TSTRING004(5) = "@X08 Nomore @X07"
TSTRING005(5) = "@X4F NOMORE @X07"
TSTRING004(6) = "@X08 Reply @X07"
TSTRING005(6) = "@X4F REPLY @X07"
TSTRING004(7) = "@X08 Skip @X07"
TSTRING005(7) = "@X4F SKIP @X07"
TSTRING004(8) = "@X08 Other @X07"
TSTRING005(8) = "@X4F OTHER @X07"
Endif
If (Exist(STRING001)) Then
If (Lower(ReadLine(STRING001, 1)) == "yes") Then
BOOLEAN002 = 1
Else
BOOLEAN002 = 0
Endif
If (Lower(ReadLine(STRING001, 2)) == "yes") Then
BOOLEAN001 = 1
Else
BOOLEAN001 = 0
Endif
INT004 = S2I(ReadLine(STRING001, 3), 10)
Else
BOOLEAN002 = 1
BOOLEAN001 = 1
INT004 = 1
Endif
If (Exist(STRING003)) Then
STRING006 = ReadLine(STRING003, 1)
STRING007 = ReadLine(STRING003, 2)
STRING008 = ReadLine(STRING003, 3)
STRING009 = ReadLine(STRING003, 4)
STRING010 = ReadLine(STRING003, 5)
STRING011 = ReadLine(STRING003, 6)
STRING012 = ReadLine(STRING003, 7)
STRING013 = ReadLine(STRING003, 8)
STRING014 = ReadLine(STRING003, 9)
STRING015 = ReadLine(STRING003, 10)
STRING016 = ReadLine(STRING003, 11)
STRING017 = ReadLine(STRING003, 12)
STRING018 = ReadLine(STRING003, 13)
Else
STRING006 = "@X0FMsg #: @X08[@X0F@CURMSGNUM@@X08] [@X0F+@X08/@X0F-@X08/@X0F?@X08] @X07"
STRING007 = "@X0FExecuting Msg Cmd: @X07"
STRING008 = "@X0FOther Msg Cmd: @X07"
STRING009 = "@X04Continue message read...@X07"
STRING010 = "@X04Download message...@X07"
STRING011 = "@X04Jump conference@X07"
STRING012 = "@X04Killing message #@CURMSGNUM@@X07"
STRING013 = "@X04No more (quit)@X07"
STRING014 = "@X04Reply to message #@CURMSGNUM@@X07"
STRING015 = "@X04Skip conference...@X07"
STRING016 = "@X04Continuing forward...@X07"
STRING017 = "@X04Continuing backward...@X07"
STRING018 = "@X04Re-reading message...@X07"
Endif
INT003 = ReadLine(PCBDat(), 89)
EndProc
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 1 End
; 4 ClrEol
; 1 Wait
; 96 Goto
; 124 Let
; 39 Print
; 64 If
; 2 DispFile
; 1 GetUser
; 4 Delay
; 2 Inc
; 2 Dec
; 1 Newline
; 1 DispText
; 14 KbdStuff
; 1 Bye
; 1 KbdChkOff
; 4 Forward
; 10 EndProc
;
;
; ■ Functions used :
;
; 3 *
; 1 /
; 21 +
; 8 -
; 56 ==
; 1 <>
; 4 <
; 2 <=
; 4 >
; 5 >=
; 54 !
; 7 &&
; 24 ||
; 3 Len(
; 3 Lower()
; 1 Left()
; 2 Space()
; 16 Chr()
; 5 Asc()
; 3 InStr()
; 2 Time()
; 2 StripAtx()
; 2 Inkey()
; 2 Mask_AlNum()
; 2 Mask_Ascii()
; 1 PCBDat()
; 7 PPEPath()
; 20 ReadLine()
; 5 Exist()
; 2 S2I()
; 2 GetX()
; 1 GetY()
;
;------------------------------------------------------------------------------
;
; Analysis flags : d
;
; d - Access PCBOARD.DAT ■ 2
; Program gets the full pathname to PCBOARD.DAT, this may be usefull
; for many PPE so they can find various informations on the system
; (system paths, max number of lines in messages, ...) but it may also
; be a way to gather vital informations.
; ■ Search for : PCBDAT()
;
;------------------------------------------------------------------------------
;
; Postprocessing report
;
; 2 For/Next
; 0 While/EndWhile
; 21 If/Then or If/Then/Else
; 3 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------